package com.guli.oss.utils;

import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

/**
 * @author zxc
 * @date 2023/04/01 15:33
 **/
// 常量类，用于读取配置文件application.yml中所配置的信息;
@Component
public class ConstantPropertiesGet implements InitializingBean {
    // InitializingBean 接口中的afterPropertiesSet方法 ： 初始化配置信息，这个方法将在所有属性被初始化后调用。
    // 读取配置文件中所定义的内容
    @Value("${aliyun.oss.file.endpoint}")
    private String endPoint;
    @Value("${aliyun.oss.file.keyid}")
    private String keyId;
    @Value("${aliyun.oss.file.keysecret}")
    private String keySecret;
    @Value("${aliyun.oss.file.bucketname}")
    private String bucketName;

    // 该类提供静态变量，给外部类
    public static String END_POINT;
    public static String ACCESS_KEY_ID;
    public static String ACCESS_KEY_SECRET;
    public static String BUCKET_NAME;

    @Override
    public void afterPropertiesSet() throws Exception {
        // 即，将类中成员变量赋值给类中所定义的静态变量;
        END_POINT = endPoint;
        ACCESS_KEY_ID = keyId;
        ACCESS_KEY_SECRET = keySecret;
        BUCKET_NAME = bucketName;
    }
}
